package org.fuyd.manager;

import java.util.List;

import org.fuyd.exception.CustomerExistException;
import org.fuyd.model.Customer;

public interface CustomerManager {

  /**
   * 业务层添加一个客户
   * 
   * @param customer org.fuyd.model.Customer对象
   */
  public void add(Customer customer) throws CustomerExistException;

  /**
   * 业务层判断一个客户是否存在，用于用户注册时的判断。
   * 
   * @param username 用户名
   */
  public boolean exist(String username);

  /**
   * 业务层查找全部客户
   * 
   * @return 返回一个list<Customer>
   */
  public List<Customer> findAll();

  /**
   * 业务层根据id查找客户
   * 
   * @param id 用户ID
   * @return 返回一个客户，由于ID唯一，所以只返回一个客户，而不是返回一个list
   */
  public Customer findById(int id);

  /**
   * 业务层用户登录
   * 
   * @return
   */
  public boolean login(String username, String password);

}
